package org.proddevplm.dao.data.blocks;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/**
 * Flow field representation.
 * The field can be a public field (available for all flow blocks and statements)
 * or can be a private field (available for current block or node statement)
 */
@XStreamAlias("flowField")
public class FlowField extends Identifier {
    
    @XStreamAlias("type")
    private int type = 0;

    @XStreamAlias("publishable")
    private boolean publishable = false;

    @XStreamAlias("name")
    private String name;

    @XStreamAlias("value")
    private Object value;

    @XStreamAlias("guiPublish")
    private boolean guiPublish;

    public boolean isPublishable() {
        return publishable;
    }

    public void setPublishable(boolean publishable) {
        this.publishable = publishable;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Object getValue() {
        return value;
    }

    public void setValue(Object value) {
        this.value = value;
    }

    public boolean isGuiPublish() {
        return guiPublish;
    }

    public void setGuiPublish(boolean guiPublish) {
        this.guiPublish = guiPublish;
    }
}
